1. Field of the Invention
The present invention relates to a packet communication apparatus, and more particularly, to a packet communication apparatus provided with manager means for managing packet labels, in which the packet communication apparatus is connected with a serial bus conformed to IEEE 1394, and the packet communication apparatus is, for example, computers, peripheral equipments such as a printer or the like, various domestic digital equipments such as a digital still camera or the like.
2. Description of the Related Art
For example, an ANSI X3.131-1986 Small Computer System Interface proposed by the ANSI (American National Standards Institute, Inc.) has been widely used thus far as an interface for carrying out data transmission between a personal computer, and peripheral equipments connected with the personal computer.
However, in so-called parallel SCSI standard of the above-mentioned interface standards, there is no rule relating to many matters such as a shape of a connector or cable, an operation of connecting equipments without power supply. As a result, problems arise in compatibility and convenience accompanying with popularization of the personal computer.
Moreover, in comparison with the time when the above-mentioned parallel SCSI standard has been proposed, recently, various domestic digital equipments are popularized. Further, a general household also requires a high speed interface which is adaptable for transmitting acoustic and image digital signal data.
Under such circumstances, some next-generation interface standards have been already proposed, and then, the IEEE 1394 interface is employed as an interface for transmitting data at a high speed between computers and peripheral equipments and between apparatuses including domestic equipments, and thus, digital equipments using the IEEE 1394 interface have been started to be merchandised.
The IEEE 1394 interface standard is proposed by IEEE (The Institute of Electrical and Electronics Engineers, Inc.), and then, is prescribed as IEEE Std. 1394-1995 IEEE Standard for a High Performance Serial Bus. More specifically, the IEEE 1394 interface standard is a very useful serial interface standard taking the use in a general household into consideration, that is, an interface conformed to the standard has a high transfer speed of several 100 Mbits/second, and supports a synchronous transfer, a hot-line insertion and drawing and a connection topology having a high degree of freedom. example, Japanese Patent Laid-open Publication (Kokai) No. 10-93623 discloses a technique of employing the above-mentioned IEEE 1394 interface.
As disclosed in the above publication, in the case of carrying out a digital data transmission with the use of a packet adding a destination information to a predetermined data block into which a digital data is divided, in order to improve the reliability of data transmission, when a packet transmitted from a transmitter equipment is received by a receiver equipment, the receiver equipment returns an acknowledgment signal indicative of a receiving state of the packet to the transmitter equipment of the printer apparatus 2, and then, retransmits the packet from the transmitter equipment as the necessity arises.
Also, in the IEEE 1394 interface, there is the case where the above acknowledgment signal from the receiver equipment to the transmitter equipment is returned with respect to a request packet for request for an operation thereof.
For example, in a packet communication between a personal computer la and a printer apparatus 2 mutually connected via the IEEE 1394 interface, as shown in FIG. 3, a request packet for requiring a predetermined operation is transmitted from the personal computer la to the printer apparatus 2, and then, when the request packet is received by the printer apparatus 2, the printer apparatus 2 returns an acknowledgment signal ACK indicative of a receiving state of the request packet to the personal computer 1a. 
The acknowledgment signal ACK includes information data for informing retransmission necessity and completion of reception of the printer apparatus 2. For example, in the case where an acknowledgment signal ACK which requires retransmission is received by the personal computer 1a, the same request packet is retransmitted from the personal computer 1a to the printer apparatus 2. Then, in the case where a completion of reception is informed to the personal computer 1a by means of the above acknowledgment signal ACK, the printer apparatus 2 carries out a predetermined operation such as a print operation. Therefore, the personal computer 1a is in a waiting state until a response packet corresponding to the above request packet is transmitted from the printer apparatus 2.
Further, when a predetermined operation is completed in the printer apparatus 2, a response packet including the above predetermined operation result is transmitted from the printer apparatus 2 to the personal computer 1a. When the response packet is received by the personal computer 1a, an acknowledgment signal ACK indicative of a retransmission request or process completion is returned from the personal computer 1a to the printer apparatus 2. In this case, if the above acknowledgment signal ACK is indicative of a retransmission request, the same response packet is retransmitted from the printer apparatus 2 to the personal computer 1a. On the other hand, if the above acknowledgment signal ACK is indicative of process completion, the printer apparatus 2 is set to an opened state for the next process.
FIG. 4 shows a packet format of a packet for use in communications between equipments connected via the IEEE 1394 interface.
Referring to FIG. 4, a packet communicated via the IEEE 1394 interface is constructed in a manner that a packet header including a destination ID and a source ID is added to data. The packet header includes the followings:
(a) information such as a transaction code t-code used for representing a kind of packet, and a retry (rt) representing whether or not the packet is a retransmission; and
(b) a transaction label t-Label for distinguishing a plurality of packets having the identical source and the identical destination from each other.
The transaction label t-Label is composed of mutually different 63 labels stored in a local memory, and is allocated to each packet.
In an example shown in FIG. 3, two request packets transmitted from the personal computer 1a to the printer apparatus 2, for instance, a transaction label n1 is added to a header of the first request packet, and a transaction label n2 is added to a header of the next request packet. Moreover, two response packets transmitted from the printer apparatus 2 to the personal computer 1a, for instance, a transaction label n3 is added to a header of the first response packet, and a transaction label n4 is added to a header of the next response packet.
In this case, the same transaction labels as those of the corresponding each of these packets are used in acknowledgment signals ACK of the above-mentioned request packet and response packet. For example, in an acknowledgment signal of the request packet to which the transaction label n1 is added, a transaction label n1 is added to a header of the request packet.
By the way, in equipments connected via the IEEE 1394 interface, there is an equipment including a plurality of functions such as a copy function, a scanner function, a printer function or the like. In the case where one equipment provides the above-mentioned plurality of functions, the above transaction label is managed for each application unit for providing each function. An application program for each application unit having a function is stored in the personal computer 1a, which then executes the application program.
Referring to FIG. 5, two application units U1 and U2 installed in the personal computer 1a can make an access to local memories LM1 and LM2 each storing 63 transaction labels, respectively, and different transaction label is allocated to each of plural communications which are carried out for each of the application units U1 and U2 and have the identical source and the identical destination.
For example, in two request packets transmitted from the personal computer 1a to the printer apparatus 2 by the process of the application unit U1, a transaction label n1 is allocated to the first packet, and a transaction label n2 is allocated to the next packet, sequentially. Moreover, in two request packets transmitted from the personal computer 1a to the printer apparatus 2 by the process of the application unit U2, a transaction label n1 is allocated to the first packet, and a transaction label n2 is allocated to the next packet, sequentially. In the manner as described above, different transaction labels are allocated respectively to a plurality of communications, which are carried out for each of application units U1 and U2 and have the identical source and the identical destination.
However, the management of the above-mentioned transaction label is carried out for each application unit including a local memory. Therefore, there may be such a case that the application units U1 and U2 utilize the same transaction label.
As seen from an example shown in FIG. 5, the same transaction label n1 is allocated to not only the first request packet transmitted from the personal computer 1a to the printer apparatus 2 by the process of the application unit U1, but also the first request packet transmitted from the personal computer 1a to the printer apparatus 2 by an operation of the application unit 2. Likewise, the same transaction label n2 is allocated to the next request packet. Thus, when the transaction labels mutually overlap, it may be judged that a transfer error is caused. Therefore, in the case of connecting a certain equipment comprising a plurality of application units each having a function via the IEEE 1394 interface with another equipment, the transaction labels mutually overlap. Therefore, there may be such apossibility that a transfer error is frequently caused.
In order to solve the above-mentioned problems in the prior art, it is, therefore, an essential object of the present invention to provide a packet communication apparatus capable of preventing a transfer error from taking place in the case of connecting a certain equipment comprising a plurality of application units via an interface with another equipment.
In order to achieve the aforementioned objective, according to one aspect of the present invention, there is provided a packet communication apparatus for transmitting a packet with a label for distinguishing each packet to each destination apparatus, and receiving a response packet with the same label transmitted from said each destination apparatus, comprising:
a plurality of application units for respectively providing a plurality of functions which are independent of each other, each application unit requesting for issuing a label in accordance with start of a process of said function, and returning the issued label upon completion of the same process of said function;
one common storage means for storing a plurality of labels added to a header of each packet to distinguish a plurality of packets whose destination apparatus is identical, said common storage means being provided in common for said plurality of application units; and
label manager means for allowing and inhibiting use of respective labels stored in said common storage means, said label manager means issuing labels stored in said common storage means in accordance with a request for issuing the labels so that labels attached to all packets transmitted to the same destination apparatus are different from each other by inhibiting use of the labels which has been already allowed for a sequence of communication until completion of said sequence of communication.
In the above-mentioned packet communication apparatus, the packet is preferably transmitted to said each destination apparatus via a serial bus conformed to an IEEE 1394 standard.